package com.bdmc.device.domain.vo;

import org.springframework.format.annotation.DateTimeFormat;;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.bdmc.common.annotation.ExcelDictFormat;
import com.bdmc.common.convert.ExcelDictConvert;
import lombok.Data;

/**
 * 满溢设备历史数据视图对象 dev_facility_history
 *
 * @author bdmc
 * @date 2022-03-22
 */
@Data
@ExcelIgnoreUnannotated
public class DevFacilityHistoryVo {

	private static final long serialVersionUID = 1L;

    /**
     * 
     */
	@ExcelProperty(value = "")
	private Integer historyId;

    /**
     * 设备id
     */
	@ExcelProperty(value = "设备id")
	private Integer deviceId;

	private String imei;
    /**
     * 数据时间
     */
	@ExcelProperty(value = "数据时间")
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	private LocalDateTime dataTime;

    /**
     * 信号强度
     */
	@ExcelProperty(value = "信号强度")
	private String rssi;

    /**
     * 信噪比
     */
	@ExcelProperty(value = "信噪比")
	private String snr;

    /**
     * 电池电压单位：伏特
     */
	@ExcelProperty(value = "电池电压单位：伏特")
	private String voltage;

    /**
     * 距离值单位:厘米
     */
	@ExcelProperty(value = "距离值单位:厘米")
	private BigDecimal distance;

    /**
     * 信号接收功率
     */
	@ExcelProperty(value = "信号接收功率")
	private String rsrp;

    /**
     * 温度
     */
	@ExcelProperty(value = "温度")
	private Integer temperature;

    /**
     * 信号强度级别(0:信号最强；1；2：信号较差)
     */
	@ExcelProperty(value = "信号强度级别(0:信号最强；1；2：信号较差)")
	private Integer sign;

    /**
     * 满溢状态（0：未满；1：已满）
     */
	@ExcelProperty(value = "满溢状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：未满；1：已满")
	private Integer overflow;

    /**
     * 帧计数
     */
	@ExcelProperty(value = "帧计数")
	private Integer frameCount;

    /**
     * 是否火灾报警（0：否；1：是，火灾报警）
     */
	@ExcelProperty(value = "是否火灾报警", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：否；1：是，火灾报警")
	private Integer fire;

    /**
     * 是否倾倒（0：否；1：是）
     */
	@ExcelProperty(value = "是否倾倒", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：否；1：是")
	private Integer fall;

    /**
     * 网络基站 ID
     */
	@ExcelProperty(value = "网络基站 ID")
	private Integer cell;

    /**
     * 电池状态（0：电池正常；1：电池低电量报警）
     */
	@ExcelProperty(value = "电池状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "0=：电池正常；1：电池低电量报警")
	private Integer batteryQuantityStatus;

    /**
     * 角度；设备倾斜的相对角度
     */
	@ExcelProperty(value = "角度；设备倾斜的相对角度")
	private Integer angle;



}
